package br.com.smachado.calcados.service;

import br.com.smachado.calcados.entity.Usuario;
import br.com.smachado.calcados.repository.UsuarioRepository;
import br.com.smachado.calcados.util.SenhaUtil;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author gu
 */
public class UsuarioService extends AppService{

    private UsuarioRepository usuarioRepository;
            
    public UsuarioService(UsuarioRepository usuarioRepository) {
        this.usuarioRepository = usuarioRepository;
    }
    
    /**
     * Cadastra um usuario
     * 
     * @param usuario 
     * @since 21/03/2012
     */
    public void gravar(Usuario usuario) {
        
        try {
            
            String senhaCript = SenhaUtil.retornaSenhaEncriptadaSHA(usuario.getSenha());
            usuario.setSenha(senhaCript);
            usuarioRepository.incluir(usuario);
            
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(UsuarioService.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }
    
    /**
     * Valida o login do usuario
     * 
     * @param login
     * @param senha
     * @return 
     * @since 21/03/2012
     */
    public boolean logar(String login, String senha) {
        
        try {
            
            String senhaCript = SenhaUtil.retornaSenhaEncriptadaSHA(senha);
            return usuarioRepository.recuperarUsuarioLoginSenha(login, senhaCript) != null;
            
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(UsuarioService.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return false;
    }
    
}
